MKDIR(2) | п═я┐п╨п╬п╡п╬п╢я│я┌п╡п╬ п©я─п╬пЁя─п╟п╪п╪п╦я│я┌п╟ Linux | MKDIR(2) |
п≤п°п╞¶
mkdir - я│п╬п╥п╢п╟я▒я┌ п╨п╟я┌п╟п╩п╬пЁ
п·п▒п≈п·п═¶
#include <sys/stat.h> #include <sys/types.h> int mkdir(const char *pathname, mode_t mode);
п·п÷п≤п║п░п²п≤п∙¶
п╓я┐п╫п╨я├п╦я▐ mkdir() п©я▀я┌п╟п╣я┌я│я▐ я│п╬п╥п╢п╟я┌я▄ п╨п╟я┌п╟п╩п╬пЁ я│ п╦п╪п╣п╫п╣п╪ pathname.
п▓ п╟я─пЁя┐п╪п╣п╫я┌п╣ mode п╥п╟п╢п╟я▌я┌я│я▐ п©я─п╟п╡п╟ п╢п╬я│я┌я┐п©п╟. п╜я┌п╦ п©я─п╟п╡п╟ я│я┌п╟п╫п╢п╟я─я┌п╫я▀п╪ п╬п╠я─п╟п╥п╬п╪ п╦п╥п╪п╣п╫я▐я▌я┌я│я▐ я│ п©п╬п╪п╬я┴я▄я▌ я│п╬пЁп╩п╟я│п╫п╬ umask п©я─п╬я├п╣я│я│п╟: п©я─п╟п╡п╟ п╫п╟ я│п╬п╥п╢п╟п╫п╫я▀п╧ п╨п╟я┌п╟п╩п╬пЁ п╠я┐п╢я┐я┌ я─п╟я│я│я┤п╦я┌п╟п╫я▀ п╨п╟п╨ mode & ~umask & 0777. п■я─я┐пЁп╦п╣ п╠п╦я┌я▀ п©я─п╟п╡ п╫п╟ п╨п╟я┌п╟п╩п╬пЁ п╥п╟п╡п╦я│я▐я┌ п╬я┌ п╬п©п╣я─п╟я├п╦п╬п╫п╫п╬п╧ я│п╦я│я┌п╣п╪я▀. п■п╩я▐ Linux п╬п╫п╦ п╠я┐п╢я┐я┌ п╬п©п╦я│п╟п╫я▀ п╢п╟п╩п╣п╣.
п║п╬п╥п╢п╟п╡п╟п╣п╪я▀п╧ п╨п╟я┌п╟п╩п╬пЁ п╠я┐п╢п╣я┌ п©я─п╦п╫п╟п╢п╩п╣п╤п╟я┌я▄ я└п╟п╨я┌п╦я┤п╣я│п╨п╬п╪я┐ п╡п╩п╟п╢п╣п╩я▄я├я┐ п©я─п╬я├п╣я│я│п╟. п∙я│п╩п╦ я┐ я─п╬п╢п╦я┌п╣п╩я▄я│п╨п╬пЁп╬ п╨п╟я┌п╟п╩п╬пЁп╟ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫ я└п╩п╟пЁ set-group-ID, п╦п╩п╦ я└п╟п╧п╩п╬п╡п╟я▐ я│п╦я│я┌п╣п╪п╟ я│п╪п╬п╫я┌п╦я─п╬п╡п╟п╫п╟ я│ я│п╣п╪п╟п╫я┌п╦п╨п╬п╧ пЁя─я┐п©п© п╡ я│я┌п╦п╩п╣ BSD (mount -o bsdgroups п╦п╩п╦, я┤я┌п╬ п╬п╢п╫п╬ п╦ я┌п╬п╤п╣, mount -o grpid), я┌п╬ п╫п╬п╡я▀п╧ п╨п╟я┌п╟п╩п╬пЁ я┐п╫п╟я│п╩п╣п╢я┐п╣я┌ пЁя─я┐п©п©я┐ п╡п╩п╟п╢п╣п╩я▄я├п╟ п╬я┌ я│п╡п╬п╣пЁп╬ я─п╬п╢п╦я┌п╣п╩я▄я│п╨п╬пЁп╬ п╨п╟я┌п╟п╩п╬пЁп╟; п╡ п©я─п╬я┌п╦п╡п╫п╬п╪ я│п╩я┐я┤п╟п╣ пЁя─я┐п©п©п╬п╧ п╡п╩п╟п╢п╣п╩я▄я├п╣п╪ я│я┌п╟п╫п╣я┌ я└п╟п╨я┌п╦я┤п╣я│п╨п╟я▐ пЁя─я┐п©п©п╟ п©я─п╬я├п╣я│я│п╟.
п∙я│п╩п╦ я┐ я─п╬п╢п╦я┌п╣п╩я▄я│п╨п╬пЁп╬ п╨п╟я┌п╟п╩п╬пЁп╟ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫ п╠п╦я┌ set-group-ID, я┌п╬ п╬п╫ п╠я┐п╢п╣я┌ я┐я│я┌п╟п╫п╬п╡п╩п╣п╫ я┌п╟п╨п╤п╣ п╦ я┐ я│п╬п╥п╢п╟п╡п╟п╣п╪п╬пЁп╬ п╨п╟я┌п╟п╩п╬пЁп╟.
п▓п·п≈п▓п═п░п╘п░п∙п°п·п∙ п≈п²п░п╖п∙п²п≤п∙¶
п÷я─п╦ я┐я│п©п╣я┬п╫п╬п╪ п╡я▀п©п╬п╩п╫п╣п╫п╦п╦ я└я┐п╫п╨я├п╦п╦ mkdir() п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐ 0. п▓ я│п╩я┐я┤п╟п╣ п╬я┬п╦п╠п╨п╦ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐ -1, п╟ errno я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌я│я▐ п╡ я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐я▌я┴п╣п╣ п╥п╫п╟я┤п╣п╫п╦п╣.
п·п╗п≤п▒п п≤¶
- EACCES
- пё п©я─п╬я├п╣я│я│п╟ п╫п╣я┌ п©я─п╟п╡ п╫п╟ п╥п╟п©п╦я│я▄ п╡ я─п╬п╢п╦я┌п╣п╩я▄я│п╨п╦п╧ п╨п╟я┌п╟п╩п╬пЁ, п╦п╩п╦ п╡ п╬п╢п╫п╬п╪ п╦п╥ п╨п╟я┌п╟п╩п╬пЁп╬п╡ п╡ pathname п╫п╣ я─п╟п╥я─п╣я┬я▒п╫ п©п╬п╦я│п╨ (я│п╪. я┌п╟п╨п╤п╣ path_resolution(7)).
- EEXIST
- pathname я┐п╤п╣ я│я┐я┴п╣я│я┌п╡я┐п╣я┌ (п╦ п╫п╣п╬п╠я▐п╥п╟я┌п╣п╩я▄п╫п╬ п╨п╟п╨ п╨п╟я┌п╟п╩п╬пЁ). п▓ я█я┌п╬п╪ я│п╩я┐я┤п╟п╣ pathname п╪п╬п╤п╣я┌ п╠я▀я┌я▄ я│п╦п╪п╡п╬п╩я▄п╫п╬п╧ я│я│я▀п╩п╨п╬п╧, п©п╬п╡п╦я│я┬п╣п╧ п╦п╩п╦ п╫п╣я┌.
- EFAULT
- п░я─пЁя┐п╪п╣п╫я┌ pathname я┐п╨п╟п╥я▀п╡п╟п╣я┌ п╥п╟ п©я─п╣п╢п╣п╩я▀ п╢п╬я│я┌я┐п©п╫п╬пЁп╬ п╟п╢я─п╣я│п╫п╬пЁп╬ п©я─п╬я│я┌я─п╟п╫я│я┌п╡п╟.
- ELOOP
- п▓п╬ п╡я─п╣п╪я▐ п╬п©я─п╣п╢п╣п╩п╣п╫п╦я▐ pathname п╡я│я┌я─п╣я┌п╦п╩п╬я│я▄ я│п╩п╦я┬п╨п╬п╪ п╪п╫п╬пЁп╬ я│п╦п╪п╡п╬п╩я▄п╫я▀я┘ я│я│я▀п╩п╬п╨.
- ENAMETOOLONG
- pathname я│п╩п╦я┬п╨п╬п╪ п╢п╩п╦п╫п╣п╫.
- ENOENT
- п·п╢п╦п╫ п╦п╥ п╨п╟я┌п╟п╩п╬пЁп╬п╡ п╡ pathname п╫п╣ я│я┐я┴п╣я│я┌п╡я┐п╣я┌ п╦п╩п╦ я▐п╡п╩я▐п╣я┌я│я▐ п©п╬п╡п╦я│я┬п╣п╧ я│п╦п╪п╡п╬п╩п╦я┤п╣я│п╨п╬п╧ я│я│я▀п╩п╨п╬п╧.
- ENOMEM
- п²п╣п╢п╬я│я┌п╟я┌п╬я┤п╫п╬п╣ п╨п╬п╩п╦я┤п╣я│я┌п╡п╬ п©п╟п╪я▐я┌п╦ я▐п╢я─п╟.
- ENOSPC
- п²п╟ я┐я│я┌я─п╬п╧я│я┌п╡п╣, я│п╬п╢п╣я─п╤п╟я┴п╣п╪ pathname, п╫п╣я┌ п╪п╣я│я┌п╟ п╢п╩я▐ я│п╬п╥п╢п╟п╫п╦я▐ п╫п╬п╡п╬пЁп╬ п╨п╟я┌п╟п╩п╬пЁп╟.
- ENOSPC
- п²п╬п╡я▀п╧ п╨п╟я┌п╟п╩п╬пЁ п╫п╣ п╪п╬п╤п╣я┌ п╠я▀я┌я▄ я│п╬п╥п╢п╟п╫, я┌п╟п╨ п╨п╟п╨ п©я─п╣п╡я▀я┬п╣п╫п╟ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▄я│п╨п╟я▐ п╢п╦я│п╨п╬п╡п╟я▐ п╨п╡п╬я┌п╟.
- ENOTDIR
- п п╬п╪п©п╬п╫п╣п╫я┌ п©я┐я┌п╦, п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫п╫я▀п╧ п╨п╟п╨ п╨п╟я┌п╟п╩п╬пЁ п╡ pathname, п╡ п╢п╣п╧я│я┌п╡п╦я┌п╣п╩я▄п╫п╬я│я┌п╦ я┌п╟п╨п╬п╡я▀п╪ п╫п╣ я▐п╡п╩я▐п╣я┌я│я▐.
- EPERM
- п╓п╟п╧п╩п╬п╡п╟я▐ я│п╦я│я┌п╣п╪п╟, я│п╬п╢п╣я─п╤п╟я┴п╟я▐ pathname, п╫п╣ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я│п╬п╥п╢п╟п╫п╦п╣ п╨п╟я┌п╟п╩п╬пЁп╬п╡.
- EROFS
- pathname п╫п╟я┘п╬п╢п╦я┌я│я▐ п╫п╟ я└п╟п╧п╩п╬п╡п╬п╧ я│п╦я│я┌п╣п╪п╣, п╢п╬я│я┌я┐п©п╫п╬п╧ я┌п╬п╩я▄п╨п╬ п╢п╩я▐ я┤я┌п╣п╫п╦я▐.
п║п·п·п╒п▓п∙п╒п║п╒п▓п≤п∙ п║п╒п░п²п■п░п═п╒п░п°¶
SVr4, BSD, POSIX.1-2001.
п≈п░п°п∙п╖п░п²п≤п╞¶
п▓ Linux п╨я─п╬п╪п╣ п╠п╦я┌п╬п╡ п©я─п╟п╡, я│п╬п╠п╩я▌п╢п╟п╣я┌я│я▐ я┌п╬п╩я▄п╨п╬ п╠п╦я┌ S_ISVTX. п╒п╬ п╣я│я┌я▄ п╡ Linux я│п╬п╥п╢п╟п╡п╟п╣п╪я▀п╧ п╨п╟я┌п╟п╩п╬пЁ п╫п╟ я│п╟п╪п╬п╪ п╢п╣п╩п╣ п©п╬п╩я┐я┤п╟п╣я┌ п©я─п╟п╡п╟, п╡я▀я┤п╦я│п╩я▐п╣п╪я▀п╣ п╨п╟п╨ mode & ~umask & 01777. п║п╪п╬я┌я─п╦я┌п╣ я┌п╟п╨п╤п╣ stat(2).
п▓ п©я─п╬я┌п╬п╨п╬п╩п╣, п╫п╟ п╨п╬я┌п╬я─п╬п╪ я─п╟п╠п╬я┌п╟п╣я┌ NFS, п╣я│я┌я▄ п╪п╫п╬п╤п╣я│я┌п╡п╬ п╫п╣п╢п╬я─п╟п╠п╬я┌п╬п╨. п²п╣п╨п╬я┌п╬я─я▀п╣ п╦п╥ п╫п╦я┘ п╡п╩п╦я▐я▌я┌ п╫п╟ mkdir().
п║п°п·п╒п═п≤п╒п∙ п╒п░п п√п∙¶
mkdir(1), chmod(2), chown(2), mkdirat(2), mknod(2), mount(2), rmdir(2), stat(2), umask(2), unlink(2), path_resolution(7)
2008-05-13 | Linux |